import axios from 'axios'
import { showToast } from 'vant'

// 1. 创建axios的请求实例对象
const http = axios.create({
  baseURL: 'https://toutiao.itheima.net/',
  timeout: 50000
})

// 2. 配置请求拦截器
// 统一携带token
http.interceptors.request.use(
  (config) => {
    try {
      const user = Tt.queryUser()
      console.log('user', user.token)

      if (user.token) {
        config.headers['Authorization'] = `Bearer ${user.token}`
      }
    } catch (error) {
      showToast('头条SDK异常')
    }
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 3. 配置响应拦截器
// 解构数据
// 统一的错误处理(token过期, 请求成功但业务失败)
http.interceptors.response.use(
  (res) => {
    return res
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 4. 导出实例对象
export { http }
